אנליזה נומרית 0211 סתיו - תרגול מס' 6 פתרון מערכת משוואות ליניארית נרצה לפתור את מערכת המשוואות יהי פתרון מקורב של נגדיר את השארית: ואת השגיאה: שאלה 1: נתונה מערכת המשוואות הבאה: הערך את השגיאה היחסית של הפתרון פתרון: השגיאה המוחלטת של : δ δ השגיאה היחסית של : נגדיר: נשתמש בנוסחא: כאשר הוא ה- Condition number )מספר ההתניה( δ δ δ או בכתיב אחר: : על מנת לקבל החסמים המבוקשים יש צורך לחשב את: במקרה של מטריצה 2*2 ניתן לחשב את המטריצה ההופכית בקלות ע"י: נשתמש בנורמת, הקלה ביותר לחישוב: החסמים שקיבלנו הם: קיבלנו חסם עליון לשגיאה היחסית של 01111% החסם מאוד גדול מכיוון שאנו מניחים כי השגיאה היחסית ב- ואכן אנו רואים כי החסם העליון מורכב מהמכפלה: קטנה, אזי החסם העליון תלוי אם מספר ההתניה של A גדול נקבל כי היא :ill-defined כלומר עבור שינויים קטנים ב- b אנו עלולים לקבל שגיאה יחסית גדולה יותר, )באופן יחסי( ב- x
הערה: מספר ההתניה של A: הוא חסם עליון על היחס בין השגיאה היחסית של הפתרון לבין השגיאה היחסית בשארית: הוא נותן אינדיקציה לכמה ניתן ללמוד על השגיאה מן ההשתקפות שלה מספר זה תלוי בנורמה בה משתמשים ) )בכל מקרה הוא גדול מאחד שכן, זהו מספר גדול במקרה שלנו בדוגמא שלנו מתקבל מצב הפוך: השגיאה היחסית בשארית )שהיא השתקפות השגיאה( אינה קטנה יחסית: אך השגיאה היחסית של הפתרון קטנה:, השגיאה המוחלטת היא הפתרון
שאלה 0: שיטת יעקובי וגאוס זיידל לפתרון מערכת משוואות ליניארית נתונה מערכת המשוואות: עבורה קיים פתרון יחיד א ב השתמש בשיטת יעקובי עם ניחוש התחלתי כנ"ל עבור שיטת גאוס זיידל לקבלת פתרון מקורב למערכת הנ"ל )בצע 9 איטרציות( פתרון: השיטות הן שיטות איטרטיביות לקירוב פתרון התחלתי: לפתרון האמיתי בהינתן מערכת, הצעדים יהיו: ובהינתן פתרון התחלתי )בכתיב מטריציוני, השקול לכתיב הרגיל( בשיטת גאוס-זיידל: )בכתיב רגיל( ובשיטת גאוס זיידל )עם איטרציה משופרת(:
פתרון: הצעדים בכתיב רגיל )שאינו מטריציוני( יהיו: ובשיטת גאוס זיידל: עבור פתרון התחלתי נקבל: )החישובים המוצגים מעוגלים ל- 3 ספרות אחרי הנקודה( בשיטת גאוס זיידל: )החישובים המוצגים מעוגלים ל- 3 ספרות אחרי הנקודה( )ניתן לראות כיצד ניתן לממש זאת ב- MATLAB, לדוגמא עבור 9 איטרציות ראשונות: X0=[0;0]; %Initial guess JacobiIter=X0; for i=2:10 JacobiIter(1,i)=(9-2*(JacobiIter(2,i-1)))/5; JacobiIter(2,i)=(11-3*(JacobiIter(1,i-1)))/4; end JacobiIter GaussSeidelIter=X0; for i=2:10 GaussSeidelIter(1,i)=(9-2*(GaussSeidelIter(2,i-1)))/5; GaussSeidelIter(2,i)=(11-3*(GaussSeidelIter(1,i)))/4; end GaussSeidelIter
תי- שאלה 3: נתונה מערכת ליניארית כאשר מטריצה משולשית תחתונה, הפיכה, בגודל 20 הראה כי אם מפעילים את שיטת יעקובי או את שיטת גאוס-זיידל לפתרון המערכת )מנקודת התחלה כלשהי( אזי מגיעים לפתרון מדוייק של המערכת תוך מספר סופי של צעדים מהו סדר הגודל של מספר פעולות החשבון המתבצעות? 22 בצע חישוב דומה עבור מטריצה משולשית עליונה פתרון: השיטות הן שיטות איטרטיביות לקירוב פתרון התחלתי: לפתרון האמיתי בהינתן מערכת ובהינתן פתרון התחלתי, הצעד יהיה: ובשיטת גאוס זיידל )עם איטרציה משופרת(: 01 מכיוון ש- מטריצה משולשית תחתונה נקבל: א בשיטת גאוס-זיידל: מקבל את ערכו המדויק כבר במעבר בראשון באיטרציה הראשונה: כאן אנו מעדכנים את עם משתנה שכבר הספקנו לחשב, ולכן מתעדכן במעבר השני באיטרציה הראשונה: ובאופן כללי: כל יקבל את ערכו המדויק במעבר ה- באיטרציה הראשונה לכן נבצע בסך הכול פעולות עבור כל משוואה ולכן בסה"כ עבור m משוואות: נבצע פעולות ב מקבל את ערכו המדויק כבר במעבר בראשון באיטרציה הראשונה:, כאן אנו לא מעדכנים את עם המשתנה שכבר הספקנו לחשב, אלא ע"י הערך המתאים שחושב באיטרציה הקודמת: ולכן מתעדכן באופן מדוייק )כלומר יקבל את ערכו הסופי( רק במעבר השני באיטרציה השנייה ובאופן כללי: כל יקבל את ערכו המדויק במעבר ה- באיטרציה ה- לכן נבצע בסך הכול פעולות בכל איטרציה ולכן בסה"כ עבור איטרציות: נבצע פעולות
00 מכיוון ש- מטריצה משולשית עליונה נקבל הפעם:, אבל נקבל הפעם נזכור כי עבור שיטת יעקובי נחשב את הרכיב הראשון )לדוגמא( כך: תוצאות זהות עבור שתי השיטות: בשיטת גאוס-זיידל מקדמי המשתנים שכבר חושבו הם אפס!! - אין עבורה יתרון במקרה כזה לכן נקבל: באיטרציה הראשונה: נזכור ש- ולכן: כאן רואים כי זהו המשתנה הראשון שמקבל את ערכו הסופי: המשתנה השני שיתעדכן באופן סופי הוא, וזאת באיטרציה השנייה כלומר: באיטרציה הראשונה קיבלנו את ערך המשתנה האחרון, באיטרציה השנייה יתעדכן סופית המשתנה שלפניו וכך הלאה: באופן כללי באיטרציה ה- המשתנים מתעדכנים באופן מדוייק יהיו לנו איטרציות, בכל איטרציה נחשב משתנים עבור כל אחד מהם נדרשות פעולות לכן שוב נקבל פעולות